import java.util.Arrays;
import java.util.Random;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:DELL
 * Date:2024-11-13
 * Time:11:14
 */
public class Test {
    public static void orderArray(int[] array) {//有序
        for (int i = 0; i < array.length; i++) {
            array[i]=i;
        }
    }
    public static void notOrderArray(int[] array) {//逆序
        for (int i = 0; i < array.length; i++) {
            array[i]=array.length-1;
        }
    }
    public static void notOrderArrayRandom(int[] array) {//无序
        Random random=new Random();
        for (int i = 0; i < array.length; i++) {
            array[i]=random.nextInt(100000);
        }
    }
//测试所用的时间
    public static void testInserSort(int[] array) {
        //重新复制一个测试的数组，因为main方法里面都是传入array,为了区分。
        int[] tmpArrays=Arrays.copyOf(array, array.length);
        long startTime=System.currentTimeMillis();//计算所用的开始时间
        Sort.insterSort(tmpArrays);
        long endTime=System.currentTimeMillis();//计算所用的结束时间
        System.out.println("插入排序耗时"+(endTime-startTime));//计算开始到结束时所用的时间
    }

    public static void main1(String[] args) {
        int[] array=new int[100000];
        orderArray(array);
        testInserSort(array);
    }

//排序
    public static void main(String[] args) {
        int[] array={1,2,2,2,3,3,3,2,1,3,4,5,4,6,7,7,7,8,5,7};
        //Sort.insterSort(array);
        //Sort.shellSort(array);
        //Sort.selectSort(array);
        //Sort.selectSort2(array);
        //Sort.heapSort(array);
        //Sort.bubbleSort(array);
        //Sort.quickSort(array);
        //Sort.quickSortNor(array);
        //Sort.mergeSort(array);
        //Sort.mergeSortNor(array);
        Sort.countSort(array);
        System.out.println(Arrays.toString(array));
    }
}
